﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace com.huigo.Framework.Model
{
    public class Dict
    {
        //险种
        public enum InsType
        {
            Air = 1,	//航空意外险
            Travel //旅游险
        }

        //经销商状态
        public enum CustType
        {
            UnConfirmed = 0, //0：未审核
            Nomal, //1：正常
            Lock //2：冻结
        };


        public static Dictionary<int, string> DictCustStatus = new Dictionary<int, string>
        { 
            {0,"未审核"},
            {1,"正常"},
            {2,"冻结"},
        };

        //是否可用
        public enum IsActive
        {
            No = 0,
            Yes = 1
        };

        //供应商类型
        public enum SupType
        {
            Insurer = 1, //1：保险公司
            Agent //2：经纪公司
        };

        public static Dictionary<int, string> DictSupType = new Dictionary<int, string>
        { 
            {1,"保险公司"},
            {2,"经纪公司"}
        };

        //订单状态
        public enum OrderStatus
        {
            Canceled = 0, //0：取消
            UnPay = 1, //1：等待支付
            Paid = 2, //2：支付成功
            InsuredSuc = 3, //3：投保成功
            InsuredFails = 4 //4：投保失败
        };

        public static Dictionary<int, string> DictOrderStatus = new Dictionary<int, string>
        { 
            {0,"取消"},
            {1,"等待支付"},
            {2,"支付成功"},
            {3,"投保成功"},
            {4,"投保失败"}
        };

        //操作项
        public enum FlowItem
        {
            Create = 0, //0：生成
            Modify = 1, //1：修改
        };

        public static Dictionary<int, string> DictFlowItem = new Dictionary<int, string>
        { 
            {0,"生成"},
            {1,"修改"},
        };

        //保单状态
        public enum PolicyStatus
        {
            Canceled = 0, //0：取消
            Uninsured = 1, //1：等待支付
            InsuredSuc = 2, //2：投保成功
            InsuredFails = 3, //3：投保失败
            SurrenderApplied = 4, //4：申请退保
            SurrenderAgreed = 5, //5：同意退保
            SurrenderRefused = 6, //6：拒绝退保
            SurrenderSuc = 7, //7：退保成功
            SurrenderFails = 8 //8：退保失败
        };

        public static Dictionary<int, string> DictPolicyStatus = new Dictionary<int, string>
        { 
            {0,"取消"},
            {1,"等待支付"},
            {2,"投保成功"},
            {3,"投保失败"},
            {4,"申请退保"},
            {5,"同意退保"},
            {6,"拒绝退保"},
            {7,"退保成功"},
            {8,"退保失败"},
        };

        //保单费用状态
        public enum PolicyFeeStatus
        {
            UnPay = 1, //1：等待支付
            Paid, //2：支付成功
            RefundSuc, //3：退款成功
            RefundFails, //4：退款失败
        };

        public static Dictionary<int, string> DictPolicyFeeStatus = new Dictionary<int, string>
        { 
            {1,"等待支付"},
            {2,"支付成功"},
            {3,"退款成功"},
            {4,"退款失败"},
        };
        //保单退保，退款，投保
        public enum UpdatePolicyStatus
        {
            RefundPolicy = 1,//退保
            RefundPrice = 2,//退款
            SendPolicy = 3//投保
        };

        //发票订单状态
        public enum InvoiceStatus
        {
            Canceled = 0, //0：取消
            UnPay = 1, //1：等待支付
            UnCheck = 2, //2：等待审核
            CheckSuc = 3, //3：审核通过
            DeliverSuc = 4, //4：配送完成
            CheckFail = 5//5：审核不通过
        };

        public static Dictionary<int, string> DictInvoiceStatus = new Dictionary<int, string>
        { 
            {0,"取消"},
            {1,"等待支付"},
            {2,"等待审核"},
            {3,"审核通过"},
            {4,"配送完成"},
            {5,"审核不通过"},
        };

        //发票订单配送方式
        public enum InvoiceDeliverType
        {
            Send = 1, //1：寄付
            ToPay = 2, //2：到付
            BySelf = 3, //3：自取
        };

        public static Dictionary<int, string> DictInvoiceDeliverType = new Dictionary<int, string>
        { 
            {1,"寄付"},
            {2,"到付"},
            {3,"自取"},
        };

        public enum UpdateInvoiceOrderStatus
        {
            CheckOK = 1,//审核通过
            CheckFail = 2,//审核不通过
            DeliverSuc = 3//配送完成
        };

        //角色
        public enum UserRole
        {
            Sales = 1, //1：销售员
            CustomerService, //2：客服人员
        };


        public static Dictionary<int, string> DictUserRole = new Dictionary<int, string>
        { 
            {1,"销售员"},
            {2,"客服人员"},
        };

        #region 支付相关
        //支付方式
        public enum PayType
        {
            BALANCE = 0,//余额
            ALIPAY, //1：支付宝
            TENPAY, //2：财付通
            NINENINEBILL //3：快钱
        };

        public static Dictionary<int, string> DictPayType = new Dictionary<int, string>
        { 
            {0,"余额"},
            {1,"支付宝"},
            {2,"财付通"},
            {3,"快钱"},
        };

        //支付对象
        public enum PayFor
        {
            SUPPLEMENT,//充值
            ORDER = 1, //1：订单
            INVOICE, //2：发票
        };

        public static Dictionary<int, string> DictPayFor = new Dictionary<int, string>
        { 
            {0,"充值"},
            {1,"订单"},
            {2,"发票"},
        };

        //操作类型 1：充值；2：消费；3：扣款；4：退款；5：冻结；6：解冻；7：银行退款
        public enum FeeType
        {
            SUPPLEMENT = 1,//1：充值
            CONSUME, //2：消费
            DEDUCT, //3：扣款
            REFUND, //4：退款
            FREEZE, //5：冻结
            THAW, //6：解冻
            BANKREFUND, //7：银行退款
        };

        public static Dictionary<int, string> DictFeeType = new Dictionary<int, string>
        { 
            {1,"充值"},
            {2,"消费"},
            {3,"扣款"},
            {4,"退款"},
            {5,"冻结"},
            {6,"解冻"},
            {7,"银行退款"},
        };

        //支付结果
        public enum PaymentStatus
        {
            SUC = 1,//1：成功
            FAIL, //2：失败
        };

        public static Dictionary<int, string> DictPaymentStatus = new Dictionary<int, string>
        { 
            {1,"成功"},
            {2,"失败"},
        };

        #endregion

    }
}
